import request from '@/utils/request'

/**
 * 获取模型列表
 * @returns 
 */
export function listModels() {
  return request({
    url: '/system/model/list',
    method: 'get',
  })
}

/**
 * 获取已启用的模型
 * @returns 
 */
export function listEnableModels() {
  return request({
    url: '/system/model/listNoPage',
    method: 'get',
  })
}

/**
 * 根据模型ID获取模型所有字段
 * @param {*} modelId 
 * @returns 
 */
export function listModelFields(modelId) {
  return request({
    url: '/system/model/' + modelId,
    method: 'get'
  })
}

/**
 * 添加模型
 * @param {*} data 
 * @returns 
 */
export function addModel(data) {
  return request({
    url: '/system/model/',
    method: 'post',
    data: data
  })
}

/**
 * 编辑模型
 * @param {*} data 
 * @returns 
 */
export function editModel(data) {
  return request({
    url: '/system/model/',
    method: 'put',
    data: data
  })
}

/**
 * 添加模型字段
 * @param {*} data 
 * @returns 
 */
export function addModelField(data) {
  return request({
    url: '/system/field',
    method: 'post',
    data: data
  })
}

/**
 * 修改模型字段
 * @param {*} data 
 * @returns 
 */
export function editModelField(data) {
  return request({
    url: '/system/field',
    method: 'put',
    data: data
  })
}

/**
 * 删除模型字段
 * @param {*} id 
 * @returns 
 */
export function delModelField(id) {
  return request({
    url: '/system/field/' + id,
    method: 'delete'
  })
}

/**
 * 启用模型
 * @param {*} data 
 * @returns 
 */
export function enableModel(data) {
  return request({
    url: '/system/model/updateStatus',
    method: 'put',
    data: data
  })
}

/**
 * 更新字段排序
 * @param {*} data 
 * @returns 
 */
export function updateFieldsSort(modelId, data) {
  return request({
    url: '/system/modelField/' + modelId,
    method: 'put',
    data: data
  })
}

/**
 * 修改模型语音识别模板
 * @param {*} data 
 * @returns 
 */
export function setModelAsrTpl(data) {
  return request({
    url: '/system/model',
    method: 'put',
    data: data
  })
}